Initialize private->event_mask from attributes we retrieved for the
authorOwen Taylor <otaylor@redhat.com>
Thu, 28 Feb 2002 21:09:04 +0000 (21:09 +0000)
committerOwen Taylor <otaylor@src.gnome.org>
Thu, 28 Feb 2002 21:09:04 +0000 (21:09 +0000)
Thu Feb 28 14:49:08 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): Initialize
        private->event_mask from attributes we retrieved for
        the window.

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gdk/x11/gdkwindow-x11.c

index 05a5588742836a0285cebdd65be6f455106482b5..9433733c2251f55de682023fa7d4b85c17491683 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Thu Feb 28 14:49:08 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): Initialize
+       private->event_mask from attributes we retrieved for
+       the window.
+
 2002-02-22  Havoc Pennington  <hp@redhat.com>
 
        * gtk/gtktextbuffer.c (save_range): change gravity of start/end
index 05a5588742836a0285cebdd65be6f455106482b5..9433733c2251f55de682023fa7d4b85c17491683 100644 (file)
@@ -1,3 +1,9 @@
+Thu Feb 28 14:49:08 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): Initialize
+       private->event_mask from attributes we retrieved for
+       the window.
+
 2002-02-22  Havoc Pennington  <hp@redhat.com>
 
        * gtk/gtktextbuffer.c (save_range): change gravity of start/end
index 05a5588742836a0285cebdd65be6f455106482b5..9433733c2251f55de682023fa7d4b85c17491683 100644 (file)
@@ -1,3 +1,9 @@
+Thu Feb 28 14:49:08 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): Initialize
+       private->event_mask from attributes we retrieved for
+       the window.
+
 2002-02-22  Havoc Pennington  <hp@redhat.com>
 
        * gtk/gtktextbuffer.c (save_range): change gravity of start/end
index 05a5588742836a0285cebdd65be6f455106482b5..9433733c2251f55de682023fa7d4b85c17491683 100644 (file)
@@ -1,3 +1,9 @@
+Thu Feb 28 14:49:08 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): Initialize
+       private->event_mask from attributes we retrieved for
+       the window.
+
 2002-02-22  Havoc Pennington  <hp@redhat.com>
 
        * gtk/gtktextbuffer.c (save_range): change gravity of start/end
index 05a5588742836a0285cebdd65be6f455106482b5..9433733c2251f55de682023fa7d4b85c17491683 100644 (file)
@@ -1,3 +1,9 @@
+Thu Feb 28 14:49:08 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): Initialize
+       private->event_mask from attributes we retrieved for
+       the window.
+
 2002-02-22  Havoc Pennington  <hp@redhat.com>
 
        * gtk/gtktextbuffer.c (save_range): change gravity of start/end
index 05a5588742836a0285cebdd65be6f455106482b5..9433733c2251f55de682023fa7d4b85c17491683 100644 (file)
@@ -1,3 +1,9 @@
+Thu Feb 28 14:49:08 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): Initialize
+       private->event_mask from attributes we retrieved for
+       the window.
+
 2002-02-22  Havoc Pennington  <hp@redhat.com>
 
        * gtk/gtktextbuffer.c (save_range): change gravity of start/end
index 05a5588742836a0285cebdd65be6f455106482b5..9433733c2251f55de682023fa7d4b85c17491683 100644 (file)
@@ -1,3 +1,9 @@
+Thu Feb 28 14:49:08 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): Initialize
+       private->event_mask from attributes we retrieved for
+       the window.
+
 2002-02-22  Havoc Pennington  <hp@redhat.com>
 
        * gtk/gtktextbuffer.c (save_range): change gravity of start/end
index 21bcc8b0a9a0d701bca49632ca743e96d9970a45..53779c08cedd9628e50e0ed6ee143a79c940efae 100644 (file)
@@ -629,6 +629,21 @@ gdk_window_new (GdkWindow     *parent,
   return window;
 }
 
+static GdkEventMask
+x_event_mask_to_gdk_event_mask (long mask)
+{
+  GdkEventMask event_mask = 0;
+  int i;
+
+  for (i = 0; i < _gdk_nenvent_masks; i++)
+    {
+      if (mask & _gdk_event_mask_table[i])
+       event_mask |= 1 << (i + 1);
+    }
+
+  return event_mask;
+}
+
 /**
  * gdk_window_foreign_new:
  * @anid: a native window handle.
@@ -692,6 +707,8 @@ gdk_window_foreign_new (GdkNativeWindow anid)
   private->window_type = GDK_WINDOW_FOREIGN;
   private->destroyed = FALSE;
 
+  private->event_mask = x_event_mask_to_gdk_event_mask (attrs.your_event_mask);
+
   if (attrs.map_state == IsUnmapped)
     private->state = GDK_WINDOW_STATE_WITHDRAWN;
   else
@@ -2448,7 +2465,6 @@ gdk_window_get_events (GdkWindow *window)
 {
   XWindowAttributes attrs;
   GdkEventMask event_mask;
-  int i;
   
   g_return_val_if_fail (window != NULL, 0);
   g_return_val_if_fail (GDK_IS_WINDOW (window), 0);
@@ -2461,13 +2477,7 @@ gdk_window_get_events (GdkWindow *window)
                            GDK_WINDOW_XID (window), 
                            &attrs);
       
-      event_mask = 0;
-      for (i = 0; i < _gdk_nenvent_masks; i++)
-       {
-         if (attrs.your_event_mask & _gdk_event_mask_table[i])
-           event_mask |= 1 << (i + 1);
-       }
-
+      event_mask = x_event_mask_to_gdk_event_mask (attrs.your_event_mask);
       GDK_WINDOW_OBJECT (window)->event_mask = event_mask;
   
       return event_mask;